import {
	http
} from '@/utils/http.js';
import config from '@/config.js';

const WeChat = {
	/**
	 * 强制登录
	 */
	forceLogin() {
		return uni.showModal({
			title: '提示',
			content: '未登录请先登录',
			success: function(res) {
				if (res.confirm) {
					uni.navigateTo({
						// url: '/pages/mine/wxLogin'
						url: '/pagesB/login/login'
					})
				} else if (res.cancel) {
					uni.reLaunch({
						url: '/pagesB/login/login'
					});
				}
			}
		});
	},
	/**
	 * 登录授权
	 */
	login() {
		return uni.login({
			provider: 'weixin',
			onlyAuthorize: true, // 微信登录仅请求授权认证
		});
	},
	/**
	 * 获取用户信息
	 * @param {Object} 页面回到用户信息函数
	 */
	getUserProfile(setUserInfo) {
		uni.getUserProfile({
			desc: "获取你的昵称、头像、地区及性别",
			lang: 'zh_CN',
			success: (res) => {
				// 登录授权
				this.login().then(loginRes => {
					// console.log(loginRes);
					let params = {
						code: loginRes[1].code, // 登录凭证
						nickName: res.userInfo.nickName, // 用户昵称
						avatarUrl: res.userInfo.avatarUrl, // 用户头像图片的 URL
						gender: res.userInfo.gender, // 用户性别 0 未知 1 男性 2 女性
						country: res.userInfo.country, // 所在国家
						province: res.userInfo.province, // 所在省份
						city: res.userInfo.city, // 所在城市
					}
					// 用户登录提交接口
					this.userLogin(params, setUserInfo);
					// console.log(res);
				});
			},
			fail() {

			}
		})
	},
	/**
	 * 用户登录发送数据给后台
	 * @param {Object} params 接口数据
	 * @param {Object} setUserInfo 回到函数用于设置用户数据
	 */
	userLogin(params, setUserInfo = false) {
		uni.showLoading({
			title: '提交中'
		});
		http.post('wxUser/login', params).then(result => {
			// console.log('result', result)
			var userInfo = result.userInfo
			// userInfo.avatarUrl = config.showImgApi + userInfo.avatarUrl;
			userInfo.avatarUrl = userInfo.avatarUrl;
			uni.setStorageSync("userInfo", JSON.stringify(userInfo)); // 用户信息  
			uni.hideLoading();
			// console.log('userInfo', userInfo)
			// phoneBinding
			// uni.setStorageSync('phone', result.phoneBinding)
			// if (!result.phoneBinding) {
			// 	this.showTel = true
			// }
			// this.isLog = true;
			if (setUserInfo)
				setUserInfo(userInfo);
		})
	},
	/**
	 * 
	 */
	getUserPhone(e, setUserPhone = false) {
		// 登录授权
		this.login().then(loginRes => {

			let params = {
				token: uni.getStorageSync('_token'),
				code: loginRes[1].code, // 登录凭证
				encryptedData: e.detail.encryptedData,
				iv: e.detail.iv,
			}
			// console.log(e)
			// console.log(params)
			http.post('wxUser/getPhone', params).then(res => {
				// console.log(res)
				var phone = res.phone;
				uni.setStorageSync('phone', phone);
				if (setUserPhone)
					setUserPhone(phone)
			})
		});
	},
	/**
	 * 用户信息
	 */
	// wxUserInfo() {

	// 	let params = {
	// 		token: uni.getStorageSync('_token'),
	// 	}
	// 	return http.post('wx_user/info', params)
	// }
}

export default WeChat;